
holiday 1

holiday 2

holiday 3

holiday 4

holiday 5

holiday 6
revision:
code: <div id="example_1" class="grid_B"> <img id="myImage1" src="../images/1.jpg" alt="picture" title="photo" alt="Sample Image" style="width: 300px; cursor: pointer;"> <img src="../images/2.jpg" alt="picture" title="photo" class="one" alt="picture" title="photo"/> <img src="../images/3.jpg" alt="picture" title="photo" class="two" alt="picture" title="photo"/> <img src="../images/4.jpg" alt="picture" title="photo" class="one" alt="picture" title="photo"/> <img src="../images/5.jpg" alt="picture" title="photo" class="two" alt="picture" title="photo"/> <img src="../images/6.jpg" alt="picture" title="photo" class="one" alt="picture" title="photo"/> </div> <style> #example_1 img{width: 10vw; height: 10vw; margin-inline: 1vw;} .zoomed {transform: scale(1.2); transition: transform 0.25s ease; } #example_1 .one:hover { height: 12vw; width: 12vw;} #example_1 .two:hover{ transform:scale(0.5);} </style> <script> document.getElementById('myImage1').addEventListener('mouseover', function() { this.classList.toggle('zoomed')}); </script>
code: <div id="example_2" class="grid_B"> <img src="../images/1.jpg" alt="picture" title="photo"/> <img src="../images/2.jpg" alt="picture" title="photo"/> <img src="../images/3.jpg" alt="picture" title="photo"/> <img src="../images/4.jpg" alt="picture" title="photo"/> <img src="../images/5.jpg" alt="picture" title="photo"/> </div> <style> #example_2 img {height: 200px; width: 200px; margin: 10px;} #example_2 img:hover{height: 400px; width: 400px; } </style>
<div id="example_3" class="grid_B"> <img src="../images/5.jpg" alt="picture" title="photo" height="200px" width="200px"/> <img src="../images/6.jpg" alt="picture" title="photo" height="200px" width="200px"/> <img src="../images/7.jpg" alt="picture" title="photo" height="200px" width="200px"/> <img src="../images/8.jpg" alt="picture" title="photo" height="200px" width="200px"/> <img src="../images/9.jpg" alt="picture" title="photo" height="200px" width="200px"/> </div> <script> var images_a = document.getElementsByTagName('img'); for (var i = 0; i < images_a.length; i++) { images_a[i].addEventListener('click', function() { for (var j = 0; j < images_a.length; j++) { if (i != j) { images_a[j].style.transform = 'scale(1)'; } } this.style.transform = 'scale(1.3)'; this.style.margin = '40px' }); } </script>
code: <div id="example_4"> <div id="image-container"> <img src="../images/10.jpg" alt="picture" title="photo" alt="Shanghai" width="25%" height="auto"/> </div> </div> <style> #image-container { position: relative; margin-inline: 2vw; margin-block: 5vw;} #image-container img {display: block; max-width: 100%;} #image-container:hover img { transform: scale(1.2); transition: transform 0.4s ease-in-out;} </style> <script> var imgContainer = document.getElementById('image-container'); var img = imgContainer.getElementsByTagName('img')[0]; img.addEventListener('click', function() { var enlargedImg = document.createElement('img'); enlargedImg.src = img.src; enlargedImg.style.position = 'absolute'; enlargedImg.style.top = 0; enlargedImg.style.left = 0; enlargedImg.style.width = '50%'; imgContainer.appendChild(enlargedImg); }); </script>
holiday 1
holiday 2
holiday 3
holiday 4
holiday 5
holiday 6
<main> <div image-wrapper> <img src="../images/1a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 1</p></div> </div> <div image-wrapper> <img src="../images/2a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 2</p></div> </div> <div image-wrapper> <img src="../images/3a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 3</p></div> </div> <div image-wrapper> <img src="../images/4a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 4</p></div> </div> <div image-wrapper> <img src="../images/5a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 5</p></div> </div> <div image-wrapper> <img src="../images/6a.jpg" alt="picture" title="photo" style="width:210px;height:200px;" alt="Shanghai" previewable> <div caption><p>holiday 6</p></div> </div> </main> <style> main {width: 1600px; height:400px; padding: 1px; gap: 20px; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center;} /*This is a more detailed style for just the immage wrappers*/ [image-wrapper] {display: flex; flex-direction: column; gap: 15px; padding: 5px; width: 200px; height: 300px; background: #fff; border-radius: 20px 20px 20px 20px; overflow: hidden; box-shadow: 0 3px 15px hsl(0, 0%, 0%, 0.35); justify-content: center; } /*This is a more detailed style for all the images within the image wrappers*/ [image-wrapper] img { border-radius: 10px 10px 10px 10px; justify-content: center; cursor:zoom-in;} /*This is a style for the caption in the image wrapper in general*/ [caption] {display: boarder; padding: 5px; text-align: center; width:180px; background: #add8e6; color: blue; border-radius: 20px 20px; } /*This is a style of how I want the caption to look like in the image wrapper*/ [image-wrapper] [caption] {text-align:center; } </style> <script> //the `constant` is started and stated const imageWrappers = document.querySelectorAll('[image-wrapper]'); //a function to show the image sources that are previewable function showPreview(imgSrc) { const previewImg = document.createElement('img'); const overlay = document.createElement('div'); //the method that states that `imgSrc` from earlier is supposed to use the image sorces given previewImg.setAttribute('src', imgSrc); //how to style the image so that it looks like after it's enlarged previewImg.style.position = 'fixed'; previewImg.style.left = '50%'; previewImg.style.top = '50%'; previewImg.style.transform = 'translate(-50%, -50%)'; previewImg.style.maxWidth = '90%'; previewImg.style.maxHeight = '80%'; previewImg.style.zIndex = '9999'; //the overlay that will give the background a bit of a blur once an image is enlarged and how the blur will look like overlay.style.position = 'fixed'; overlay.style.left = '0'; overlay.style.top = '0'; overlay.style.width = '100%'; overlay.style.height = '100%'; overlay.style.background = 'rgba(0, 0, 0, 0.5)'; //a new element is created or stored document.body.appendChild(previewImg); document.body.appendChild(overlay); //a method that uses `EventListner`so that everytime the image is clicked, it will close overlay.addEventListener('click', closePreview); //a function to remove the new element after any click from the previous line function closePreview() { document.body.removeChild(overlay); document.body.removeChild(previewImg); //a method that uses `EventListner`so that everytime anywhere is clicked, the enlarged image will disappear or go back to normal overlay.removeEventListener('click', closePreview); } } //a method that is used to apply/trigger the functions given before that enlarges and removes the enlarged image imageWrappers.forEach(imageWrapper => { imageWrapper.addEventListener('click', (event) => { const img = imageWrapper.querySelector('img'); showPreview(img.getAttribute('src')); }); }); </script>
code: <div class="images-container"> <img src="../images/10a.jpg" alt="picture" title="photo" alt="Sample Image" class="hover-image"> </div> <style> .images-container {display: inline-block; overflow: hidden; margin-inline: 5vw;} .hover-image { width: 300px; height: auto; transition: transform 0.3s ease;} </style> <script> document.addEventListener('DOMContentLoaded', () => { const image = document.querySelector('.hover-image'); image.addEventListener('mouseover', () => { image.style.transform = 'scale(1.5)'; }); image.addEventListener('mouseout', () => { image.style.transform = 'scale(1)'; }); }); </script>
<div> <div class="containerForImage"> <img src="../images/5.jpg" alt="picture" title="photo" id="imgThree" onclick="enlargeImg_A()"/> <img src="../images/7.jpg" alt="picture" title="photo" id="imgFour" onclick="enlargeImg_B()"/> </div> <button onclick="resetImg_A()">A</button> <button onclick="resetImg_B()">B</button> </div> <style> #example_7 img{width: 20vw; height: 12vw;margin-left: 2vw;} button{width: 4vw; height: 2vw; background-color: lightgreen; margin-left: 12vw; margin-top: 5vw;} </style> <script> img_A = document.getElementById("imgThree"); function enlargeImg_A() { img_A.style.transform = "scale(1.5)"; img_A.style.transition = "transform 0.25s ease"; } function resetImg_A(){ img_A.style.transform = "scale(1)"; img_A.style.transition = "transform 0.25s ease"; } img_B = document.getElementById("imgFour"); function enlargeImg_B() { img_B.style.width = "50%"; img_B.style.height = "15vw"; img_B.style.transition = "width 0.5s ease"; } function resetImg_B() { img_B.style.width = "20vw"; img_B.style.height = "12vw"; img_B.style.transition = "width 0.5s ease"; } </script>
code: div class="imageContainer"> <img id="thisImage" src="../images/1.jpg" alt="Scrollable and Enlargeable Picture" width="600" height="400"/> </div> <style> .imageContainer {overflow: scroll; width: 80%; height: auto; border: 2px solid #ccc; position: relative;} #thisImage {transition: transform 0.25s ease;} </style> <script> const firstPhoto = document.getElementById('thisImage'); let scale_A = 1; firstPhoto.addEventListener('wheel', (event) => { event.preventDefault(); if (event.deltaY < 0) { scale_A *= 1.1; } else { scale_A /= 1.1; } firstPhoto.style.transform = `scale(${scale_A})`; }); </script>
code: <div class="imageContainer2"> <img id="anotherImage" src="../images/1.jpg" alt="Sample Image" class="scrolling-image"> </div> <style> .imageContainer2 {width: 50vw; height: 50vh; overflow: hidden; position: relative; } .scrolling-image { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); animation: enlargeAndScroll 10s linear infinite; } /* Keyframes for enlarging and scrolling */ @keyframes enlargeAndScroll { 0% {transform: translate(-50%, -50%) scale(1); } 100% { transform: translate(-50%, -150%) scale(2); /* Adjust scale and translation as needed */} } </style>
code: <div class="imageContainer2"> <img src="../images/1.jpg" alt="Sample Image" class="scrolling-image1" id="anotherImage1"> </div> <style> .imageContainer2 { width: 50vw; height: 50vh; overflow: hidden; position: relative; } .scrolling-image1 { position: absolute; top: 50%; left: 50%; transform: translate(-10%, -10%); transition: transform 50s linear; /* Smooth transitions */} </style> <script> const image1 = document.getElementById('anotherImage1'); let scale1 = 1; // Initial scale let translateY = 0; // Initial vertical translation function animateImage() { scale1 += 0.005; // Gradually increase the scale translateY -= 1; // Gradually move the image upward // Apply transformations image1.style.transform = `translate(-50%, ${translateY}%) scale(${scale1})`; // Loop the animation requestAnimationFrame(animateImage); } // Start the animation animateImage(); </script>
code: <div> <h3>enlarge picture by clicking it</h3> <div> <!-- Trigger the Modal --> <img id="myPhoto" src="../images/12.jpg" alt="Shanghai" style="width:100%;max-width:300px"> <!-- The Modal --> <div id="myModal" class="modal"> <!-- The Close Button --> <span class="close">×</span> <!-- Modal Content (The Image) --> <img class="modal-content" id="img01"> <!-- Modal Caption (Image Text) --> <div id="caption"></div> </div> </div> </div> <style> /* Style the Image Used to Trigger the Modal */ #myPhoto {border-radius: 5px; cursor: pointer; transition: 0.3s; } #myPhoto:hover {opacity: 0.2;} /* The Modal (background) */ .modal {display: none; position: fixed; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; /* Enable scroll if needed */ background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.9); } /* Modal Content (Image) */ .modal-content {margin: auto; display: block; width: 80%; max-width: 700px;} /* Caption of Modal Image (Image Text) - Same Width as the Image */ #caption { margin: auto; display: block; width: 80%; max-width: 700px; text-align: center; padding: 10px 0; height: 150px;} /* Add Animation - Zoom in the Modal */ .modal-content, #caption { animation-name: zoom; animation-duration: 0.6s; } @keyframes zoom { from {transform:scale(0)} to {transform:scale(1)} } /* The Close Button */ .close {position: absolute; top: 15px; right: 35px; color: red; font-size: 48px; font-weight: bold; transition: 0.3s;} .close:hover, .close:focus {color: #bbb; text-decoration: none; cursor: pointer; } /* 100% Image Width on Smaller Screens */ @media only screen and (max-width: 700px){ .modal-content { width: 100%; } } </style> <script> // Get the modal var modal = document.getElementById("myModal"); // Get the image and insert it inside the modal - use its "alt" text as a caption var img_a = document.getElementById("myPhoto"); var modalImg = document.getElementById("img01"); var captionText = document.getElementById("caption"); img_a.onclick = function(){ modal.style.display = "block"; modalImg.src = this.src; captionText.innerHTML = this.alt; } // Get the <span> element that closes the modal var span = document.getElementsByClassName("close")[0]; // When the user clicks on <span> (x), close the modal span.onclick = function() { modal.style.display = "none"; } </script>